import request from '@/utils/request'

/**
 * 获取权限列表
 *
 * @returns {Promise}
 */
export function getPermissionListAPI() {
  return request({
    url: '/sys/permission',
    method: 'get'
  })
}

/**
 * 获取权限详情
 *
 * @param {String} id 权限id
 *
 * @returns {Promise}
 */
export function getPermissionDetailAPI(id) {
  return request({
    url: `/sys/permission/${id}`,
    method: 'get'
  })
}

/**
 * 新增权限
 *
 * @param {Object} data 权限数据
 * @param {String} data.name 权限名称
 * @param {String} data.code 权限标识
 * @param {String} data.description 权限描述
 * @param {String} data.type 权限类型（1为页面路由权限点, 2为按钮权限点）
 * @param {String} data.pid 上级权限id（页面权限点pid值为'0', 按钮权限点值为所属页面权限点的id值）
 * @param {String} data.enVisible 权限开启状态（0关闭, 1开启. (暂时无需判断, 前端逻辑上默认全都有效直接用)）
 *
 * @returns {Promise}
 */
export function addPermissionAPI(data) {
  return request({
    url: '/sys/permission',
    method: 'post',
    data
  })
}

/**
 * 更新权限
 *
 * @param {String} id 权限id
 * @param {Object} data 权限数据
 * @param {String} data.id 权限id
 * @param {String} data.name 权限名称
 * @param {String} data.code 权限标识
 * @param {String} data.description 权限描述
 * @param {String} data.type 权限类型（1为页面路由权限点, 2为按钮权限点）
 * @param {String} data.pid 上级权限id（页面权限点pid值为'
 */
export function updatePermissionAPI(data) {
  return request({
    url: `/sys/permission/${data.id}`,
    method: 'put',
    data
  })
}

/**
 * 删除权限
 *
 * @param {String} id 权限id
 *
 * @returns {Promise}
 */
export function deletePermissionAPI(id) {
  return request({
    url: `/sys/permission/${id}`,
    method: 'delete'
  })
}
